$├39╞ ╞╞15 ╩╙╥ ╙╫╔╘├╚ [$├3──] TO CHANGE DRIVES AND CONTINUE EXECUTION WITH ╞╞╙╘ FOR THE OTHER DRIVE.
╞╞╙╘ ╞IND 1'ST DIRECTORY ENTRY WHICH MATCHES FILE NAME
$├3┴2 ├LEAR ─┼╠╔╬─ [$┴╞] TO INDICATE WE ARE ╬╧╘ LOOKING FOR A DELETED OR UNUSED DIRECTORY ENTRY.
$├3┴6 ╩╙╥ ╙╥├╚╙╘ [$├4┬┼] TO START THE SEARCH.
$├3┴9 ╔F A VALID NAME WAS FOUND THEN BRANCH TO ╞╞25.
$├3┴┬ ╙ET ╞╧╒╬─ [$4├┼0] TO ZERO TO INDICATE ALL FILES HAVE NOT YET BEEN FOUND.
$├3┴┼ ╞╞10 ╔F ╞╧╒╬─ [$4├┼0] IS NOT ZERO (ALL FILES FOUND) THEN BRANCH TO ╞╞40 TO EXIT.
$├3┬3 ─ECREMENT ─╥╓├╬╘ [$4├──] AND IF NON-NEGATIVE THERE IS ANOTHER DRIVE TO SEARCH SO BRANCH TO ╞╞15.
$├3┬8 ╬O ENTRY WAS FOUND SO EXIT WITH A RETURN.
╞╬─╞╔╠ ├ONTINUE SCAN OF DIRECTORY
$├3┬9 ╩╙╥ ╙┼┴╥├╚ [$├529] TO GET NEXT VALID FILE NAME.
$├3┬├ ╔F THERE ARE NO MORE DIRECTORY ENTRIES THEN BRANCH TO ╞╞10 TO SEE IF THERE IS ANOTHER DRIVE.
$├3┬┼ ╞╞25 ╩╙╥ ├╧═╨┴╥ [$├3┼┴] TO SEE IF THE CURRENT ENTRY MATCHES A FILE NAME.
$├3├1 ╔F ┼╬╘╞╬─ [$4├┬5] < 128 (ENTRY MATCHES FILE NAME) THEN BRANCH TO ╞╞30 TO CHECK THE FILE TYPE.
$├3├6 ╔F ╞╧╒╬─ [$4├┼0] = 0 (ALL FILES ╬╧╘ FOUND) THEN BRANCH TO ╞╬─╞╔╠ TO GET THE NEXT DIRECTORY ENTRY. ╧THERWISE, ALL FILES HAVE BEEN FOUND SO EXIT WITH A BRANCH TO ╞╞40.
$├3├─ ╞╞30 ╔F ╘┘╨╞╠╟ [$4├┼6] = 0 (ANY FILE TYPE IS VALID) THEN EXIT WITH A BRANCH TO ╞╞40.
$├3─2 ╔F ╨┴╘╘┘╨,╪ [$4├71,╪] (DIRECTORY ENTRY FILE TYPE) DOES NOT MATCH ╘┘╨╞╠╟ [4├┼6] (FILE TYPE FROM COMMAND) THEN BRANCH TO ╞╬─╞╔╠ TO CONTINUE THE SEARCH.
$├3─├ ╞╞40 ╞ILE FOUND - EXIT WITH A RETURN.
╙╫╔╘├╚ ╙WITCH FROM ONE DRIVE TO THE OTHER
$├3── ╙ET ─╥╓╞╠╟ [$4├─┼] TO $01 TO INDICATE BOTH DRIVES ARE TO BE SEARCHED.
$├3┼2 ╩╙╥ ╘╧╟─╥╓ [$├2┴9] TO TOGGLE THE DRIVE NUMBER.
$├3┼5 ╩╙╥ ╙┼╘╠┼─ [$├003] TO TURN ON THE ╠┼─.
$├3┼8 ├LEAR .├ TO INDICATE SWITCH HAS BEEN DONE.
$├3┼9 ╥ETURN.
├╧═╨┴╥ ├OMPARE FILE NAMES IN COMMAND WITH CURRENT ENTRY
$├3┼┴ ╙ET ┼╬╘╞╬─ [$4├┬5] TO $╞╞ TO INDICATE NO MATCH.
$├3┼╞ ├LEAR ╨┴╘╞╠╟ [$┬8].
║FP
$├3╞2 ╩╙╥ ├═╨├╚╦ [$├49┼] TO SEE IF ANY FILE NAMES ARE STILL OUTSTANDING.
$├3╞5 ╔F AT LEAST ONE FILE NAME IS STILL UNFOUND THEN BRANCH TO ├╨10.
$├3╞7 ├╨02 ┴LL FILES HAVE BEEN FOUND SO EXIT WITH A RETURN.
$├3╞8 ├╨05 ╩╙╥ ├├10 [$├4┴7] TO SET ╞2╨╘╥ [$┬4] TO THE INDEX OF THE NEXT FILE TO BE LOCATED.
$├3╞┬ ╔F THERE ARE NO FILES LEFT THEN BRANCH TO ├╨02.
$├3╞─ ├╨10 ╟ET ─╥╓╬╒═ [$54] AND ┼╧╥ WITH ╞╔╠─╥╓,╪ [$4├6├,╪]. ╔F THE DRIVE #'S ARE DIFFERENT, BIT 0 WILL BE SET AND IF THE DRIVE CAN BE DEFAULTED, BIT 7 WILL BE SET.
$├402 ╙HIFT .┴ RIGHT TO PUT BIT 0 INTO .├ AND IF IT IS ZERO (DRIVES MATCH) THEN BRANCH TO ├╨20.
$├405 ─RIVE #'S ARE DIFFERENT. ├HECK .┴ TO SEE IF THE DEFAULT BIT IS CLEAR (DRIVE ├┴╬╬╧╘ BE DEFAULTED) AND IF THIS IS THE CASE THEN BRANCH TO ├╨05.
$├409 ╔F ─╥╓├╬╘ [$4├──] = $02, DON'T LET THE DRIVES BE DIFFERENT SO BRANCH TO ├╨05 TO GET ANOTHER FILE.
$├410 ├╨20 ╘HE DRIVE #'S MATCH. ╬OW SEE IF THE NAME CAN BE MATCHED. ╠OAD .┴ FROM ╞╔╠╘┬╠,╪ [$4┼30,╪] (THE OFFSET OF THE START OF THE FILE NAME) AND COPY TO .╪.
$├414 ╩╙╥ ╞╬─╠═╘ [$├5┬├] TO FIND END OF THE FILE NAME.
$├417 ╙ET .┘ TO $03 (THE OFFSET OF THE START OF FILE NAME IN A DIRECTORY ENTRY) AND JUMP TO ├╨33.
$├41├ ├╨30 ╔F ├═─┬╒╞,╪ [$4┼00,╪] (FILE NAME CHARACTER FROM COMMAND) = (─╔╥┬╒╞),┘ [($69),┘] (DIRECTORY ENTRY NAME CHARACTER) THEN BRANCH TO ├╨32 TO ADVANCE THE STRING POINTERS.
$├423 ╔F COMMAND STRING CHARACTER IS NOT $3╞ (?) THEN BRANCH TO ├╨05 TO CHECK ANOTHER FILE NAME.
$├427 ╔F DIRECTORY ENTRY CHARACTER IS $┴0 (END OF FILE NAME) THEN BRANCH TO ├╨05 TO TRY ANOTHER FILE NAME.
$├42─ ├╨32 ╔NCREMENT .╪ AND .┘ TO POINT TO NEXT CHARACTER.
$├42╞ ├╨33 ╔F .╪ >= ╠╔═╔╘ [$4┼2╞] THEN WE HAVE REACHED THE END OF THE COMMAND STRING SO BRANCH TO ├╨34.
$├434 ╔F NEXT CHARACTER FROM COMMAND STRING IS $2┴ (*) THEN BRANCH TO ├╨40 TO TABULATE A MATCH. ╧THERWISE, BRANCH TO ├╨30 TO CHECK THE CURRENT CHARACTERS.
$├43─ ├╨34 ╔F .┘ >= $13 WE ARE AT THE END OF THE DIRECTORY ENTRY SO BRANCH TO ├╨40 TO TABULATE A MATCH.
$├441 ╔F THE NEXT CHARACTER IN THE DIRECTORY ENTRY IS $┴0 THEN WE ARE AT THE END OF THE DIRECTORY ENTRY AND HAVE MATCHED THE FILE NAME FROM THE COMMAND.
$├447 ├╨40 ├OPY ╞2╨╘╥ [$┬4] TO ┼╬╘╞╬─ [4├┬╞] TO INDICATE THE FILE NAME IS FOUND AND RECORD ITS INDEX.
$├44├ ╧BTAIN ╨┴╘╘┘╨,╪ [$4├71,╪] FOR THE FILE, ┴╬─ IT WITH $80 (TO SEE IF IT CONTAINED WILD CARDS), AND SAVE THE RESULT IN ╨┴╘╞╠╟ [$┬8].
$├453 ├OPY ╔╬─┼╪ [$4├┼4] (THE DIRECTORY ENTRY POINTER) TO ┼╬╘╞╬─,╪ [$4├67,╪] (THE DIRECTORY ENTRY POINTER FOR THE FILE.
$├459 ├OPY ╙┼├╘╧╥ [$56] FOR THE DIRECTORY BLOCK INTO ┼╬╘╙┼├,╪ [$4├62,╪] (DIRECTORY SECTOR BLOCK NUMBER INDEXED BY THE FILE NUMBER).
$├45┼ ├LEAR .┘ (OFFSET OF FILE TYPE IN DIRECTORY ENTRY) AND GET THE FILE TYPE FROM (─╔╥┬╒╞),┘ [($69),┘].